package model.archivo;

import java.io.FileNotFoundException;
import java.io.IOException;
import model.registro.*;

public class ArchivoRegistrosVariables extends Archivo {
	public ArchivoRegistrosVariables(String xRutaArchivo) throws FileNotFoundException, IOException {
		super(xRutaArchivo);
	}
	
	//Recibe un registro como parametro y lo escribe en el archivo
	public void escribirRegistro(Registro xRegistroAEscribir) throws IOException {
		aArchivo.seek(aArchivo.length());				
		aArchivo.writeInt(xRegistroAEscribir.getTamanioRegistro());
		aArchivo.write(xRegistroAEscribir.convertirRegistroABytes());
	}
	
    //Recibe un registro vacio y lo devuelve con el registro ubicado en el offset indicado en el parametro
	public void leerRegistro(int xOffSetRegistro, Registro xRegistroALeer) throws IOException {
		aArchivo.seek(xOffSetRegistro);
		int tamanioRegistro = aArchivo.readInt();
		byte[] bytesRegistro = new byte[tamanioRegistro];
		aArchivo.read(bytesRegistro);		
		xRegistroALeer.convertirBytesARegistro(bytesRegistro);
	}
	
}